package com.sixnimmt.app.client.game;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sixnimmt.app.shared.game.domain.Card;
import com.sixnimmt.app.shared.game.information.ServerInformation;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GameServiceAsync {

	void retrieveServerInformation(AsyncCallback<ServerInformation> callback);

	void joinGame(String playerName, AsyncCallback<List<String>> callback);

	void startGame(String playerName, AsyncCallback<Void> callback);

	void restartServer(String playerName, AsyncCallback<Void> callback);

	void playCard(String playerName, Card card, AsyncCallback<Void> callback);

	void chooseStack(String playerName, int stack, AsyncCallback<Void> callback);

}
